#ifndef READBYTEPROCESS_H
#define READBYTEPROCESS_H

#include <QObject>
#include <QVector>
#include <QTimer>


#include "../Tpkg/TDOA.h"
#include "../Tpkg/checkutils.h"
#include "targettask.h"
#include "sqlitetools.h"
#include "sqlitethread.h"
#include "config/globalvariables.h"


class ReadbyteProcess : public QObject
{
    Q_OBJECT
public:
    explicit ReadbyteProcess(QObject *parent = nullptr);

    ~ReadbyteProcess();


    // PutIntoStateMachine
    //
    //	@Desc: 逐个字节进入状态机
    //	@param byte
    void stateProcess(uint16_t onebyte);

    // dataProcessing
    //
    //	@Desc: 完整的一帧数据处理函数
    //	@param rawData
    void dateprocess(QVector<uint16_t>rawdate);

    // initSqlite
    //
    //	@Desc: 初始化数据库
    void initSqlite();

    //getTargetGroupnumber
    //
    //  @Desc: 得到靶的分组
    void getTargetGroupnumber(int groupnumber);

    //GetSearchDate
    //
    //  @Desc:拿到查找的数据
    void GetSearchDate(int groupNumber,int addr,QString time);

    // judgeStateBit
    //
    //	@Desc: 判断状态位
    //	@param state
    //	@return int 0:状态位错误，1:握手信息，2:正常
    int judgeStateBit(uint16_t state);

    // jointTime
    //
    //	@Desc: 拼接时间
    //	@param rawTime
    //	@return QVector<uint16_t> 4个时间的数组
    QVector<uint16_t> jointTime(const QVector<uint16_t>& rawTime);

    // updateTimerAndInfo
    //
    //	@Desc:  更新定时器
    //	@param ID
    void updateTimerAndInfo(uint16_t ID);

    // judgeTemperature
    //
    //	@Desc:  计算温度、更新声速
    //	@param rawTemp
    void judgeTemperature(QVector<uint16_t> rawTemp);

    // voltageHandle
    //
    //	@Desc:  更新电量
    //	@param addr
    //	@param voltage
    void voltageHandle(uint16_t addr,uint16_t voltage);

    // judgeBulletSequence
    //
    //	@Desc:  判断序列号
    //	@param ID
    //	@param curSequenceNum
    //return bool
    bool judgeBulletSequence(uint16_t ID, int curSequenceNum);

    // PointBelongToTheTarget
    //
    //	@Desc:  过滤器 点不属于此靶
    //	@param X
    //	@param Y
    //return bool true: 不属于此靶   false:  属于此靶
    bool PointBelongToTheTarget(double X,double Y);



    // calibrationTargetDataHandle
    //
    //	@Desc: 校准靶的数据去向
    //	@param ID
    //	@param point
    void calibrationTargetDataHandle(uint16_t ID,BulletPoint point);

    // commonShootingHandle
    //
    //	@Desc: 正常打靶的数据去向
    //	@param rawHeader
    //	@param rawTargetData
    void commonShootingHandle(uint16_t ID,BulletPoint point);

    // IsUndershootPoint
    //
    //	@Desc: 判断是否是脱靶的点
    //	@param p
    //	@return bool
    bool IsUndershootPoint(BulletPoint p,double ldx,double ldy,double rux,double ruy);

    // IsUndershootPoint
    //
    //	@Desc: 判断方向
    //	@param p
    //	@return int
    int Direction(double x1,double y1);

    // IsUndershootPoint
    //
    //	@Desc: 计算环数
    //	@param p
    //	@return int
    int Points(int x1, int y1);

    // toBeAssignedHandle
    //
    //	@Desc: 靶标和人员未绑定,已赋初值
    //	@param ID
    void toBeAssignedHandle(uint16_t ID,BulletPoint point);

    // deleteRecord
    //
    //	@Desc: 删除数据库指定数据
    //	@param ID
    void deleteRecord(int ID);

    void getTargetName(int ID);

public:

  float C = 801 * 1.0   / (WeightOfTargetPaper * 1.0);


private:
    enum TargetState{
        //开始状态
        BeginState,
        //就绪状态
        DateReceveState,
        //校准状态
        CheckDateState
    };
    TargetState StateOfMachine=BeginState;

    // relayToServerPrefix
    //
    //	@Desc: 根据字头判断心跳 165
    const int relayToServerPrefix = 0xA5;

    // lengthOfTargetData
    //
    //	@Desc: 长度 从头到尾的长度(即全部数据)
    const int lengthOfTargetData = 20;


    // sqliteTools
    //
    //	@Desc: 数据库操作类
    SQLiteTools *sqliteTools = nullptr;

//    // sqliteThread
//    //
//    //  @Desc:
//    SQLiteThread *sqliteThread = nullptr;

    // rawData
    //
    //	@Desc: 一帧完整的数据
    QVector<uint16_t> rawData;

    // targetTask
    //
    //	@Desc: 靶标任务类
    TargetTask targetTask;

    // TDOAALG
    //
    //	@Desc: 算法类
    TDOA TDOAALG;

    // 状态位错误
    const int stateError = 0;
    // 状态位无误
    const int stateNormal = 2;
    // 握手信息
    const int handshakeInfo = 1;

    // BorderMinimumAccuracy 解算边界最小值精度
    const float BorderMinimumAccuracy = 0.002;

    BulletPoint bulletPoint;

    //当天日期
    QString currentDate;

    QTimer* timer[22];

signals:
    void mySignalRelayStringWriteBack(QString msg);

    void mySignalTargetInfo(const OneTaregtBullet& oneTaregtBullet);
private:
    // 边缘点数据
    QVector<QVector<int>> pp{
      {381, 801}, {380, 800}, {379, 800}, {378, 800}, {377, 800}, {376, 800}, {375, 800}, {374, 800}, {373, 800},
      {372, 800}, {371, 800}, {370, 800}, {369, 800}, {368, 800}, {367, 800}, {366, 800}, {365, 799}, {364, 799},
      {363, 799}, {362, 799}, {361, 799}, {360, 799}, {359, 799}, {358, 799}, {357, 799}, {356, 799}, {355, 799},
      {354, 798}, {353, 798}, {352, 798}, {351, 798}, {350, 798}, {349, 798}, {348, 798}, {347, 798}, {346, 798},
      {345, 798}, {344, 798}, {343, 797}, {342, 797}, {341, 797}, {340, 797}, {339, 797}, {338, 797}, {337, 797},
      {336, 796}, {335, 796}, {334, 796}, {333, 796}, {332, 796}, {331, 796}, {330, 796}, {329, 795}, {328, 796},
      {327, 795}, {326, 795}, {325, 795}, {324, 795}, {323, 795}, {322, 794}, {321, 794}, {320, 794}, {319, 794},
      {318, 794}, {317, 793}, {316, 793}, {315, 793}, {314, 793}, {313, 793}, {312, 793}, {311, 793}, {310, 792},
      {309, 792}, {308, 792}, {307, 792}, {306, 792}, {305, 791}, {304, 791}, {303, 791}, {302, 791}, {301, 790},
      {300, 790}, {299, 790}, {298, 790}, {297, 790}, {296, 790}, {295, 789}, {294, 789}, {293, 789}, {292, 789}, {291, 788}, {290, 788}, {289, 788}, {288, 787}, {287, 787}, {286, 787}, {285, 787}, {284, 787}, {283, 786}, {282, 786}, {281, 786}, {280, 786}, {279, 785}, {278, 785}, {277, 785}, {276, 785}, {275, 784}, {274, 784}, {273, 784}, {272, 783}, {271, 783}, {270, 783}, {269, 783}, {268, 782}, {267, 782},
      {266, 782}, {265, 782}, {264, 781}, {263, 781}, {262, 781}, {261, 780}, {260, 780}, {259, 780}, {258, 779}, {257, 779}, {256, 779}, {255, 778}, {254, 778}, {253, 778}, {252, 777}, {251, 777}, {250, 777}, {249, 777}, {248, 776}, {247, 776}, {246, 775}, {245, 775}, {244, 775}, {243, 774}, {242, 774}, {241, 774}, {240, 773}, {240, 772}, {240, 771}, {240, 770}, {240, 769}, {239, 768}, {239, 767}, {239, 766}, {239, 765}, {239, 764},
      {239, 763}, {239, 762}, {239, 761}, {239, 760}, {238, 759}, {238, 758}, {238, 757}, {238, 756}, {238, 755}, {238, 754}, {238, 753}, {237, 752}, {237, 751}, {237, 750}, {237, 749}, {237, 748}, {237, 747}, {236, 746}, {236, 745}, {236, 744}, {236, 743}, {236, 742}, {236, 741}, {236, 740}, {236, 739}, {236, 738}, {235, 737}, {235, 736}, {235, 735}, {235, 734}, {235, 733}, {235, 732}, {235, 731}, {234, 730}, {234, 729}, {234, 728},
      {234, 727}, {234, 726}, {234, 725}, {233, 724}, {233, 723}, {234, 722}, {233, 721}, {233, 720}, {233, 719},
      {233, 718}, {233, 717}, {233, 716}, {232, 715}, {232, 714}, {232, 713}, {232, 712}, {232, 711}, {232, 710}, {232, 709}, {231, 708}, {231, 707}, {231, 706}, {231, 705}, {231, 704}, {231, 703}, {231, 702}, {231, 701}, {231, 700}, {230, 699}, {230, 698}, {230, 697}, {230, 696}, {230, 695}, {230, 694}, {229, 693}, {229, 692}, {229, 691}, {229, 690}, {229, 689}, {229, 688}, {229, 687}, {228, 686}, {228, 685},
      {228, 684}, {228, 683}, {228, 682}, {228, 681}, {228, 680}, {228, 679}, {228, 678}, {227, 677}, {227, 676}, {227, 675}, {227, 674}, {227, 673}, {227, 672}, {226, 671}, {226, 670}, {226, 669}, {226, 668}, {226, 667}, {226, 666}, {226, 665}, {225, 664}, {225, 663}, {225, 662}, {225, 661}, {225, 660}, {225, 659}, {225, 658}, {225, 657}, {225, 656}, {224, 655}, {224, 654}, {224, 653}, {224, 652}, {224, 651}, {224, 650}, {224, 649},
      {223, 648}, {223, 647}, {223, 646}, {223, 645}, {223, 644}, {223, 643}, {222, 642}, {223, 641}, {222, 640}, {222, 639}, {222, 638}, {222, 637}, {222, 636}, {222, 635}, {222, 634}, {221, 633}, {221, 632}, {221, 631}, {221, 630}, {221, 629}, {221, 628}, {221, 627}, {220, 626}, {220, 625}, {220, 624}, {220, 623}, {220, 622}, {220, 621}, {220, 620}, {220, 619}, {219, 618}, {219, 617}, {219, 616}, {219, 615}, {219, 614}, {219, 613}, {219, 612}, {218, 611}, {218, 610}, {218, 609}, {218, 608}, {218, 607}, {218, 606}, {218, 605}, {217, 604},
      {218, 603}, {217, 602}, {217, 601}, {217, 600}, {217, 599}, {217, 598}, {217, 597}, {216, 596}, {216, 595},
      {216, 594}, {217, 593}, {217, 592}, {217, 591}, {217, 590}, {217, 589}, {217, 588}, {217, 587}, {217, 586}, {217, 585}, {217, 584}, {217, 583}, {217, 582}, {217, 581}, {217, 580}, {217, 579}, {217, 578}, {218, 577}, {218, 576}, {218, 575}, {218, 574}, {218, 573}, {218, 572}, {218, 571}, {218, 570}, {218, 569}, {218, 568}, {218, 567}, {219, 566}, {219, 565}, {219, 564}, {219, 563}, {219, 562}, {219, 561},
      {219, 560}, {219, 559}, {219, 558}, {219, 557}, {219, 556}, {219, 555}, {220, 554}, {220, 553}, {220, 552}, {220, 551}, {220, 550}, {220, 549}, {220, 548}, {220, 547}, {220, 546}, {220, 545}, {220, 544}, {220, 543}, {220, 542}, {220, 541}, {220, 540}, {220, 539}, {221, 538}, {221, 537}, {221, 536}, {221, 535}, {221, 534}, {221, 533}, {221, 532}, {221, 531}, {221, 530}, {221, 529}, {221, 528}, {222, 527}, {222, 526}, {222, 525},
      {222, 524}, {222, 523}, {222, 522}, {222, 521}, {222, 520}, {222, 519}, {222, 518}, {222, 517}, {222, 516}, {223, 515}, {223, 514}, {223, 513}, {223, 512}, {222, 511}, {221, 511}, {220, 510}, {219, 510}, {218, 509}, {217, 508}, {216, 508}, {215, 507}, {214, 507}, {213, 506}, {212, 506}, {211, 505}, {210, 504}, {209, 504}, {208, 503}, {207, 503}, {206, 502}, {205, 502}, {204, 501}, {203, 501}, {202, 500}, {201, 499}, {200, 499},
      {199, 498}, {198, 498}, {197, 497}, {196, 497}, {195, 496}, {194, 495}, {193, 495}, {192, 494}, {191, 494},
      {190, 493}, {189, 492}, {188, 492}, {187, 491}, {186, 491}, {185, 490}, {184, 490}, {183, 489}, {182, 489},
      {181, 488}, {180, 487}, {179, 487}, {178, 486}, {177, 486}, {176, 485}, {175, 485}, {174, 484}, {173, 483}, {172, 483}, {171, 482}, {170, 482}, {169, 481}, {168, 480}, {167, 480}, {166, 480}, {165, 479}, {164, 478}, {163, 478}, {162, 477}, {161, 477}, {160, 476}, {159, 475}, {158, 475}, {157, 474}, {156, 474}, {155, 473}, {154, 473}, {153, 472}, {152, 471}, {151, 471}, {150, 470}, {149, 470}, {148, 469},
      {147, 469}, {146, 468}, {145, 468}, {144, 467}, {143, 466}, {142, 466}, {141, 465}, {140, 465}, {139, 464}, {138, 463}, {137, 463}, {136, 462}, {135, 462}, {134, 461}, {133, 461}, {132, 460}, {131, 459}, {130, 459}, {129, 458}, {128, 458}, {127, 457}, {126, 457}, {125, 456}, {124, 455}, {123, 455}, {122, 454}, {121, 454}, {120, 453}, {119, 453}, {118, 452}, {117, 451}, {116, 451}, {115, 450}, {114, 450}, {113, 449}, {112, 449},
      {111, 448}, {110, 448}, {109, 447}, {108, 446}, {107, 446}, {106, 446}, {105, 445}, {104, 444}, {103, 444}, {102, 443}, {101, 442}, {100, 442}, {99, 441}, {98, 441}, {97, 440}, {96, 439}, {95, 439}, {94, 438}, {93, 438}, {92, 437}, {91, 437}, {90, 436}, {89, 435}, {88, 435}, {87, 434}, {86, 434}, {85, 433}, {84, 433}, {83, 432}, {82, 432}, {81, 431}, {80, 430}, {79, 430}, {78, 429}, {77, 429}, {76, 428}, {75, 427}, {74, 427}, {73, 426},
      {72, 426}, {71, 425}, {70, 425}, {69, 424}, {68, 424}, {67, 423}, {66, 422}, {65, 422}, {64, 421}, {63, 421},
      {62, 420}, {61, 420}, {60, 419}, {59, 418}, {58, 418}, {57, 417}, {56, 417}, {55, 416}, {54, 416}, {53, 415}, {52, 414}, {51, 414}, {50, 413}, {49, 413}, {48, 412}, {47, 412}, {46, 411}, {45, 410}, {44, 410}, {43, 409}, {42, 409}, {41, 408}, {40, 408}, {39, 407}, {38, 406}, {37, 406}, {36, 405}, {35, 405}, {34, 404}, {33, 403}, {32, 403}, {31, 403}, {30, 402}, {29, 401}, {28, 401}, {27, 400}, {26, 400},
      {25, 399}, {24, 398}, {23, 398}, {22, 397}, {21, 397}, {20, 396}, {19, 396}, {18, 395}, {17, 394}, {16, 394}, {15, 393}, {14, 393}, {13, 392}, {12, 392}, {11, 391}, {10, 391}, {9, 390}, {8, 389}, {7, 389}, {6, 388}, {5, 388}, {4, 387}, {3, 386}, {2, 386}, {1, 385}, {0, 385}, {0, 384}, {0, 383}, {0, 382}, {0, 381}, {0, 380}, {0, 379}, {0, 378}, {0, 377}, {0, 376}, {0, 375}, {0, 374}, {0, 373}, {0, 372}, {0, 371}, {0, 370}, {0, 369},
      {0, 368}, {0, 367}, {0, 366}, {0, 365}, {0, 364}, {0, 363}, {0, 362}, {0, 361}, {0, 360}, {0, 359}, {0, 358}, {0, 357}, {0, 356}, {0, 355}, {0, 354}, {0, 353}, {0, 352}, {0, 351}, {0, 350}, {0, 349}, {0, 348}, {0, 347}, {0, 346}, {0, 345}, {0, 344}, {0, 343}, {0, 342}, {0, 341}, {0, 340}, {0, 339}, {0, 338}, {0, 337}, {0, 336}, {0, 335}, {0, 334}, {0, 333}, {0, 332}, {0, 331}, {0, 330}, {0, 329}, {0, 328}, {0, 327}, {0, 326}, {0, 325}, {0, 324}, {0, 323}, {0, 322}, {0, 321}, {0, 320}, {0, 319}, {0, 318}, {0, 317}, {0, 316},
      {0, 315}, {0, 314}, {0, 313}, {0, 312}, {0, 311}, {0, 310}, {0, 309}, {0, 308}, {0, 307}, {0, 306}, {0, 305},
      {0, 304}, {0, 303}, {0, 302}, {0, 301}, {0, 300}, {0, 299}, {0, 298}, {0, 297}, {0, 296}, {0, 295}, {0, 294}, {0, 293}, {0, 292}, {0, 291}, {0, 290}, {0, 289}, {0, 288}, {0, 287}, {0, 286}, {0, 285}, {0, 284}, {0, 283}, {0, 282}, {0, 281}, {0, 280}, {0, 279}, {0, 278}, {0, 277}, {0, 276}, {0, 275}, {0, 274}, {0, 273}, {0, 272}, {0, 271}, {0, 270}, {0, 269}, {0, 268}, {0, 267}, {0, 266}, {0, 265}, {0, 264},
      {0, 263}, {0, 262}, {0, 261}, {0, 260}, {0, 259}, {0, 258}, {0, 257}, {0, 256}, {0, 255}, {0, 254}, {0, 253}, {0, 252}, {0, 251}, {0, 250}, {0, 249}, {0, 248}, {0, 247}, {0, 246}, {0, 245}, {0, 244}, {0, 243}, {0, 242}, {0, 241}, {0, 240}, {0, 239}, {0, 238}, {0, 237}, {0, 236}, {0, 235}, {0, 234}, {0, 233}, {0, 232}, {0, 231}, {0, 230}, {0, 229}, {0, 228}, {0, 227}, {0, 226}, {0, 225}, {0, 224}, {0, 223}, {0, 222}, {0, 221}, {0, 220},
      {0, 219}, {0, 218}, {0, 217}, {0, 216}, {0, 215}, {0, 214}, {0, 213}, {0, 212}, {0, 211}, {0, 210}, {0, 209}, {0, 208}, {0, 207}, {0, 206}, {0, 205}, {0, 204}, {0, 203}, {0, 202}, {0, 201}, {0, 200}, {0, 199}, {0, 198}, {0, 197}, {0, 196}, {0, 195}, {0, 194}, {0, 193}, {0, 192}, {0, 191}, {0, 190}, {0, 189}, {0, 188}, {0, 187}, {0, 186}, {0, 185}, {0, 184}, {0, 183}, {0, 182}, {0, 181}, {0, 180}, {0, 179}, {0, 178}, {0, 177},
      {0, 176}, {0, 175}, {0, 174}, {0, 173}, {0, 172}, {0, 171}, {0, 170}, {0, 169}, {0, 168}, {0, 167}, {0, 166},
      {0, 165}, {0, 164}, {0, 163}, {0, 162}, {0, 161}, {0, 160}, {0, 159}, {0, 158}, {0, 157}, {0, 156}, {0, 155}, {0, 154}, {0, 153}, {0, 152}, {0, 151}, {0, 150}, {0, 149}, {0, 148}, {0, 147}, {0, 146}, {0, 145}, {0, 144}, {0, 143}, {0, 142}, {0, 141}, {0, 140}, {0, 139}, {0, 138}, {0, 137}, {0, 136}, {0, 135}, {0, 134}, {0, 133}, {0, 132}, {0, 131}, {0, 130}, {0, 129}, {0, 128}, {0, 127}, {0, 126}, {0, 125},
      {0, 124}, {0, 123}, {0, 122}, {0, 121}, {0, 120}, {0, 119}, {0, 118}, {0, 117}, {0, 116}, {0, 115}, {0, 114}, {0, 113}, {0, 112}, {0, 111}, {0, 110}, {0, 109}, {0, 108}, {0, 107}, {0, 106}, {0, 105}, {0, 104}, {0, 103}, {0, 102}, {0, 101}, {0, 100}, {0, 99}, {0, 98}, {0, 97}, {0, 96}, {0, 95}, {0, 94}, {0, 93}, {0, 92}, {0, 91}, {0, 90}, {0, 89}, {0, 88}, {0, 87}, {0, 86}, {0, 85}, {0, 84}, {0, 83}, {0, 82}, {0, 81}, {0, 80}, {0, 79},
      {0, 78}, {0, 77}, {0, 76}, {0, 75}, {0, 74}, {0, 73}, {0, 72}, {0, 71}, {0, 70}, {0, 69}, {0, 68}, {0, 67}, {0, 66}, {0, 65}, {0, 64},
      {0, 63}, {0, 62}, {0, 61}, {0, 60}, {0, 59}, {0, 58}, {0, 57}, {0, 56}, {0, 55}, {0, 54}, {0, 53}, {0, 52},
      {0, 51}, {0, 50}, {0, 49}, {0, 48}, {0, 47}, {0, 46}, {0, 45}, {0, 44}, {0, 43}, {0, 42}, {0, 41}, {0, 40}, {0, 39}, {0, 38}, {0, 37}, {0, 36}, {0, 35}, {0, 34}, {0, 33}, {0, 32}, {0, 31}, {0, 30}, {0, 29}, {0, 28}, {0, 27}, {0, 26}, {0, 25}, {0, 24}, {0, 23}, {0, 22}, {0, 21}, {0, 20}, {0, 19}, {0, 18}, {0, 17}, {0, 16},
      {0, 15}, {0, 14}, {0, 13}, {0, 12}, {0, 11}, {0, 10},{0, 9}, {0, 8}, {0, 7}, {0, 6},{0, 5}, {0, 4},{0, 3}, {0, 2},{0, 1}, {1, 1}, {2, 1}, {3, 1},{4, 1}, {5, 1}, {6, 1}, {7, 1}, {8, 1}, {9, 1}, {10, 1},
      {11, 1}, {12, 1}, {13, 1}, {14, 1}, {15, 1}, {16, 1}, {17, 1}, {18, 1}, {19, 1}, {20, 1}, {21, 1}, {22, 1}, {23, 1}, {24, 1}, {25, 1}, {26, 1}, {27, 1}, {28, 1}, {29, 1}, {30, 1}, {31, 1}, {32, 1}, {33, 1}, {34, 1}, {35, 1}, {36, 1}, {37, 1}, {38, 1}, {39, 1}, {40, 1}, {41, 1}, {42, 1}, {43, 1}, {44, 1}, {45, 1},
      {46, 1}, {47, 1}, {48, 1}, {49, 1}, {50, 1}, {51, 1}, {52, 1}, {53, 1}, {54, 1}, {55, 1}, {56, 1}, {57, 1}, {58, 1}, {59, 1}, {60, 1}, {61, 1}, {62, 1}, {63, 1}, {64, 1}, {65, 1}, {66, 1}, {67, 1}, {68, 1}, {69, 1}, {70, 1}, {71, 1}, {72, 1}, {73, 1}, {74, 1}, {75, 1}, {76, 1}, {77, 1}, {78, 1}, {79, 1}, {80, 1}, {81, 1}, {82, 1}, {83, 1}, {84, 1}, {85, 1}, {86, 1}, {87, 1}, {88, 1}, {89, 1}, {90, 1}, {91, 1}, {92, 1}, {93, 1},
      {94, 1}, {95, 1}, {96, 1}, {97, 1}, {98, 1}, {99, 1}, {100, 1}, {101, 1}, {102, 1}, {103, 1}, {104, 1}, {105, 1},
      {106, 1}, {107, 1}, {108, 1}, {109, 1}, {110, 1}, {111, 1}, {112, 1}, {113, 1}, {114, 1}, {115, 1}, {116, 1}, {117, 1}, {118, 1}, {119, 1}, {120, 1}, {121, 1}, {122, 1}, {123, 1}, {124, 1}, {125, 1}, {126, 1}, {127, 1}, {128, 1}, {129, 1}, {130, 1}, {131, 1}, {132, 1}, {133, 1}, {134, 1}, {135, 1}, {136, 1}, {137, 1}, {138, 1}, {139, 1}, {140, 1}, {141, 1}, {142, 1}, {143, 1}, {144, 1}, {145, 1}, {146, 1},
      {147, 1}, {148, 1}, {149, 1}, {150, 1}, {151, 1}, {152, 1}, {153, 1}, {154, 1}, {155, 1}, {156, 1}, {157, 1}, {158, 1}, {159, 1}, {160, 1}, {161, 1}, {162, 1}, {163, 1}, {164, 1}, {165, 1}, {166, 1}, {167, 1}, {168, 1}, {169, 1}, {170, 1}, {171, 1}, {172, 1}, {173, 1}, {174, 1}, {175, 1}, {176, 1}, {177, 1}, {178, 1}, {179, 1}, {180, 1}, {181, 1}, {182, 1}, {183, 1}, {184, 1}, {185, 1}, {186, 1}, {187, 1}, {188, 1}, {189, 1}, {190, 1},
      {191, 1}, {192, 1}, {193, 1}, {194, 1}, {195, 1}, {196, 1}, {197, 1}, {198, 1}, {199, 1}, {200, 1}, {201, 1}, {202, 1}, {203, 1}, {204, 1}, {205, 1}, {206, 1}, {207, 1}, {208, 1}, {209, 1}, {210, 1}, {211, 1}, {212, 1}, {213, 1}, {214, 1}, {215, 1}, {216, 1}, {217, 1}, {218, 1}, {219, 1}, {220, 1}, {221, 1}, {222, 1}, {223, 1}, {224, 1}, {225, 1}, {226, 1}, {227, 1}, {228, 1}, {229, 1}, {230, 1}, {231, 1}, {232, 1}, {233, 1}, {234, 1}, {235, 1}, {236, 1}, {237, 1}, {238, 1}, {239, 1}, {240, 1}, {241, 1}, {242, 1},
      {243, 1}, {244, 1}, {245, 1}, {246, 1}, {247, 1}, {248, 1}, {249, 1}, {250, 1}, {251, 1}, {252, 1}, {253, 1},
      {254, 1}, {255, 1}, {256, 1}, {257, 1}, {258, 1}, {259, 1}, {260, 1}, {261, 1}, {262, 1}, {263, 1}, {264, 1}, {265, 1}, {266, 1}, {267, 1}, {268, 1}, {269, 1}, {270, 1}, {271, 1}, {272, 1}, {273, 1}, {274, 1}, {275, 1}, {276, 1}, {277, 1}, {278, 1}, {279, 1}, {280, 1}, {281, 1}, {282, 1}, {283, 1}, {284, 1}, {285, 1}, {286, 1}, {287, 1}, {288, 1}, {289, 1}, {290, 1}, {291, 1}, {292, 1}, {293, 1}, {294, 1},
      {295, 1}, {296, 1}, {297, 1}, {298, 1}, {299, 1}, {300, 1}, {301, 1}, {302, 1}, {303, 1}, {304, 1}, {305, 1}, {306, 1}, {307, 1}, {308, 1}, {309, 1}, {310, 1}, {311, 1}, {312, 1}, {313, 1}, {314, 1}, {315, 1}, {316, 1}, {317, 1}, {318, 1}, {319, 1}, {320, 1}, {321, 1}, {322, 1}, {323, 1}, {324, 1}, {325, 1}, {326, 1}, {327, 1}, {328, 1}, {329, 1}, {330, 1}, {331, 1}, {332, 1}, {333, 1}, {334, 1}, {335, 1}, {336, 1}, {337, 1}, {338, 1},
      {339, 1}, {340, 1}, {341, 1}, {342, 1}, {343, 1}, {344, 1}, {345, 1}, {346, 1}, {347, 1}, {348, 1}, {349, 1}, {350, 1}, {351, 1}, {352, 1}, {353, 1}, {354, 1}, {355, 1}, {356, 1}, {357, 1}, {358, 1}, {359, 1}, {360, 1}, {361, 1}, {362, 1}, {363, 1}, {364, 1}, {365, 1}, {366, 1}, {367, 1}, {368, 1}, {369, 1}, {370, 1}, {371, 1}, {372, 1}, {373, 1}, {374, 1}, {375, 1}, {376, 1}, {377, 1}, {378, 1}, {379, 1}, {380, 1}, {381, 1}, {382, 1}, {383, 1}, {384, 1}, {385, 1}, {386, 1}, {387, 1}, {388, 1}, {389, 1}, {390, 1}, {391, 1},
      {392, 1}, {393, 1}, {394, 1}, {395, 1}, {396, 1}, {397, 1}, {398, 1}, {399, 1}, {400, 1}, {401, 1}, {402, 1},
      {403, 1}, {404, 1}, {405, 1}, {406, 1}, {407, 1}, {408, 1}, {409, 1}, {410, 1}, {411, 1}, {412, 1}, {413, 1}, {414, 1}, {415, 1}, {416, 1}, {417, 1}, {418, 1}, {419, 1}, {420, 1}, {421, 1}, {422, 1}, {423, 1}, {424, 1}, {425, 1}, {426, 1}, {427, 1}, {428, 1}, {429, 1}, {430, 1}, {431, 1}, {432, 1}, {433, 1}, {434, 1}, {435, 1}, {436, 1}, {437, 1}, {438, 1}, {439, 1}, {440, 1}, {441, 1}, {442, 1}, {443, 1},
      {444, 1}, {445, 1}, {446, 1}, {447, 1}, {448, 1}, {449, 1}, {450, 1}, {451, 1}, {452, 1}, {453, 1}, {454, 1}, {455, 1}, {456, 1}, {457, 1}, {458, 1}, {459, 1}, {460, 1}, {461, 1}, {462, 1}, {463, 1}, {464, 1}, {465, 1}, {466, 1}, {467, 1}, {468, 1}, {469, 1}, {470, 1}, {471, 1}, {472, 1}, {473, 1}, {474, 1}, {475, 1}, {476, 1}, {477, 1}, {478, 1}, {479, 1}, {480, 1}, {481, 1}, {482, 1}, {483, 1}, {484, 1}, {485, 1}, {486, 1}, {487, 1},
      {488, 1}, {489, 1}, {490, 1}, {491, 1}, {492, 1}, {493, 1}, {494, 1}, {495, 1}, {496, 1}, {497, 1}, {498, 1}, {499, 1}, {500, 1}, {501, 1}, {502, 1}, {503, 1}, {504, 1}, {505, 1}, {506, 1}, {507, 1}, {508, 1}, {509, 1}, {510, 1}, {511, 1}, {512, 1}, {513, 1}, {514, 1}, {515, 1}, {516, 1}, {517, 1}, {518, 1}, {519, 1}, {520, 1}, {521, 1}, {522, 1}, {523, 1}, {524, 1}, {525, 1}, {526, 1}, {527, 1}, {528, 1}, {529, 1}, {530, 1}, {531, 1}, {532, 1}, {533, 1}, {534, 1}, {535, 1}, {536, 1}, {537, 1}, {538, 1}, {539, 1}, {540, 1}, {541, 1}, {542, 1},
      {543, 1}, {544, 1}, {545, 1}, {546, 1}, {547, 1}, {548, 1}, {549, 1}, {550, 1}, {551, 1}, {552, 1}, {553, 1}, {554, 1}, {555, 1}, {556, 1}, {557, 1}, {558, 1}, {559, 1}, {560, 1}, {561, 1}, {562, 1}, {563, 1}, {564, 1}, {565, 1}, {566, 1}, {567, 1}, {568, 1}, {569, 1}, {570, 1}, {571, 1}, {572, 1}, {573, 1}, {574, 1}, {575, 1}, {576, 1}, {577, 1}, {578, 1}, {579, 1}, {580, 1}, {581, 1}, {582, 1}, {583, 1}, {584, 1}, {585, 1}, {586, 1},
      {587, 1}, {588, 1}, {589, 1}, {590, 1}, {591, 1}, {592, 1}, {593, 1}, {594, 1}, {595, 1}, {596, 1}, {597, 1}, {598, 1}, {599, 1}, {600, 1}, {601, 1}, {602, 1}, {603, 1}, {604, 1}, {605, 1}, {606, 1}, {607, 1}, {608, 1}, {609, 1}, {610, 1}, {611, 1}, {612, 1}, {613, 1}, {614, 1}, {615, 1}, {616, 1}, {617, 1}, {618, 1}, {619, 1}, {620, 1}, {621, 1}, {622, 1},
      {623, 1}, {624, 1}, {625, 1}, {626, 1}, {627, 1}, {628, 1}, {629, 1}, {630, 1}, {631, 1}, {632, 1}, {633, 1}, {634, 1}, {635, 1}, {636, 1}, {637, 1}, {638, 1}, {639, 1}, {640, 1}, {641, 1}, {642, 1}, {643, 1}, {644, 1}, {645, 1}, {646, 1}, {647, 1}, {648, 1}, {649, 1}, {650, 1}, {651, 1}, {652, 1}, {653, 1}, {654, 1}, {655, 1}, {656, 1}, {657, 1}, {658, 1}, {659, 1}, {660, 1}, {661, 1}, {662, 1}, {663, 1}, {664, 1}, {665, 1}, {666, 1},
      {667, 1}, {668, 1}, {669, 1}, {670, 1}, {671, 1}, {672, 1}, {673, 1}, {674, 1}, {675, 1}, {676, 1}, {677, 1}, {678, 1},
      {679, 1}, {680, 1}, {681, 1}, {682, 1}, {683, 1}, {684, 1}, {685, 1}, {686, 1}, {687, 1}, {688, 1}, {689, 1},
      {690, 1}, {691, 1}, {692, 1}, {693, 1}, {694, 1}, {695, 1}, {696, 1}, {697, 1}, {698, 1}, {699, 1}, {700, 1}, {701, 1}, {702, 1}, {703, 1}, {704, 1}, {705, 1}, {706, 1}, {707, 1}, {708, 1}, {709, 1}, {710, 1}, {711, 1}, {712, 1}, {713, 1}, {714, 1}, {715, 1}, {716, 1}, {717, 1}, {718, 1}, {719, 1}, {720, 1}, {721, 1}, {722, 1}, {723, 1}, {724, 1}, {725, 1}, {726, 1}, {727, 1}, {728, 1}, {729, 1}, {730, 1},
      {731, 1}, {732, 1}, {733, 1}, {734, 1}, {735, 1},
      {736, 1}, {737, 1}, {738, 1}, {739, 1}, {740, 1}, {741, 1}, {742, 1}, {743, 1}, {744, 1}, {745, 1}, {746, 1},
      {747, 1}, {748, 1}, {749, 1}, {750, 1}, {751, 1}, {752, 1}, {753, 1}, {754, 1}, {755, 1}, {756, 1}, {757, 1}, {758, 1}, {759, 1}, {760, 1}, {761, 1}, {762, 1}, {763, 1}, {764, 1}, {765, 1}, {766, 1}, {767, 1}, {768, 1}, {769, 1}, {770, 1}, {771, 1}, {772, 1}, {773, 1}, {774, 1}, {775, 1}, {776, 1}, {777, 1}, {778, 1}, {779, 1}, {780, 1}, {781, 1}, {782, 1}, {783, 1}, {784, 1}, {785, 1}, {786, 1}, {787, 1},
      {788, 1}, {789, 1}, {790, 1}, {791, 1}, {792, 1}, {793, 1}, {794, 1}, {795, 1}, {796, 1}, {797, 1}, {798, 1}, {799, 1}, {800, 1}, {800, 2}, {800, 3}, {800, 4}, {800, 5}, {800, 6}, {800, 7}, {800, 8}, {800, 9}, {800, 10}, {800, 11}, {800, 12}, {800, 13}, {800, 14}, {800, 15}, {800, 16}, {800, 17}, {800, 18}, {800, 19}, {800, 20}, {800, 21}, {800, 22}, {800, 23}, {800, 24}, {800, 25}, {800, 26}, {800, 27}, {800, 28}, {800, 29}, {800, 30},
      {800, 31}, {800, 32}, {800, 33}, {800, 34}, {800, 35}, {800, 36}, {800, 37}, {800, 38}, {800, 39}, {800, 40}, {800, 41}, {800, 42}, {800, 43}, {800, 44}, {800, 45}, {800, 46}, {800, 47}, {800, 48}, {800, 49}, {800, 50}, {800, 51}, {800, 52}, {800, 53}, {800, 54}, {800, 55}, {800, 56}, {800, 57}, {800, 58}, {800, 59}, {800, 60}, {800, 61}, {800, 62}, {800, 63}, {800, 64}, {800, 65}, {800, 66}, {800, 67}, {800, 68},
      {800, 69}, {800, 70}, {800, 71}, {800, 72}, {800, 73}, {800, 74}, {800, 75}, {800, 76}, {800, 77}, {800, 78},
      {800, 79}, {800, 80}, {800, 81}, {800, 82}, {800, 83}, {800, 84}, {800, 85}, {800, 86}, {800, 87}, {800, 88}, {800, 89}, {800, 90}, {800, 91}, {800, 92}, {800, 93}, {800, 94}, {800, 95}, {800, 96}, {800, 97}, {800, 98}, {800, 99}, {800, 100}, {800, 101}, {800, 102}, {800, 103}, {800, 104}, {800, 105}, {800, 106}, {800, 107}, {800, 108}, {800, 109}, {800, 110}, {800, 111}, {800, 112}, {800, 113}, {800, 114},
      {800, 115}, {800, 116}, {800, 117}, {800, 118}, {800, 119}, {800, 120}, {800, 121}, {800, 122}, {800, 123}, {800, 124}, {800, 125}, {800, 126}, {800, 127}, {800, 128}, {800, 129}, {800, 130}, {800, 131}, {800, 132}, {800, 133}, {800, 134}, {800, 135}, {800, 136}, {800, 137}, {800, 138}, {800, 139}, {800, 140}, {800, 141}, {800, 142}, {800, 143}, {800, 144}, {800, 145}, {800, 146}, {800, 147}, {800, 148}, {800, 149}, {800, 150}, {800, 151},
      {800, 152}, {800, 153}, {800, 154}, {800, 155}, {800, 156}, {800, 157}, {800, 158}, {800, 159}, {800, 160}, {800, 161}, {800, 162}, {800, 163}, {800, 164}, {800, 165}, {800, 166}, {800, 167}, {800, 168}, {800, 169}, {800, 170}, {800, 171}, {800, 172}, {800, 173}, {800, 174}, {800, 175}, {800, 176}, {800, 177}, {800, 178}, {800, 179}, {800, 180}, {800, 181}, {800, 182}, {800, 183}, {800, 184}, {800, 185}, {800, 186}, {800, 187}, {800, 188}, {800, 189}, {800, 190}, {800, 191}, {800, 192}, {800, 193}, {800, 194}, {800, 195},
      {800, 196}, {800, 197}, {800, 198}, {800, 199}, {800, 200}, {800, 201}, {800, 202}, {800, 203}, {800, 204},
      {800, 205}, {800, 206}, {800, 207}, {800, 208}, {800, 209}, {800, 210}, {800, 211}, {800, 212}, {800, 213}, {800, 214}, {800, 215}, {800, 216}, {800, 217}, {800, 218}, {800, 219}, {800, 220}, {800, 221}, {800, 222}, {800, 223}, {800, 224}, {800, 225}, {800, 226}, {800, 227}, {800, 228}, {800, 229}, {800, 230}, {800, 231}, {800, 232}, {800, 233}, {800, 234}, {800, 235}, {800, 236}, {800, 237}, {800, 238},
      {800, 239}, {800, 240}, {800, 241}, {800, 242}, {800, 243}, {800, 244}, {800, 245}, {800, 246}, {800, 247}, {800, 248}, {800, 249}, {800, 250}, {800, 251}, {800, 252}, {800, 253}, {800, 254}, {800, 255}, {800, 256}, {800, 257}, {800, 258}, {800, 259}, {800, 260}, {800, 261}, {800, 262}, {800, 263}, {800, 264}, {800, 265}, {800, 266}, {800, 267}, {800, 268}, {800, 269}, {800, 270}, {800, 271}, {800, 272}, {800, 273}, {800, 274}, {800, 275},
      {800, 276}, {800, 277}, {800, 278}, {800, 279}, {800, 280}, {800, 281}, {800, 282}, {800, 283}, {800, 284}, {800, 285}, {800, 286}, {800, 287}, {800, 288}, {800, 289}, {800, 290}, {800, 291}, {800, 292}, {800, 293}, {800, 294}, {800, 295}, {800, 296}, {800, 297}, {800, 298}, {800, 299}, {800, 300}, {800, 301}, {800, 302}, {800, 303}, {800, 304}, {800, 305}, {800, 306}, {800, 307}, {800, 308}, {800, 309}, {800, 310},
      {800, 311}, {800, 312}, {800, 313}, {800, 314}, {800, 315}, {800, 316}, {800, 317}, {800, 318}, {800, 319},
      {800, 320}, {800, 321}, {800, 322}, {800, 323}, {800, 324}, {800, 325}, {800, 326}, {800, 327}, {800, 328},
      {800, 329}, {800, 330}, {800, 331}, {800, 332}, {800, 333}, {800, 334}, {800, 335}, {800, 336}, {800, 337}, {800, 338}, {800, 339}, {800, 340}, {800, 341}, {800, 342}, {800, 343}, {800, 344}, {800, 345}, {800, 346}, {800, 347}, {800, 348}, {800, 349}, {800, 350}, {800, 351}, {800, 352}, {800, 353}, {800, 354}, {800, 355}, {800, 356}, {800, 357}, {800, 358}, {800, 359}, {800, 360}, {800, 361}, {800, 362},
      {800, 363}, {800, 364}, {800, 365}, {800, 366}, {800, 367}, {800, 368}, {800, 369}, {800, 370}, {800, 371}, {800, 372}, {800, 373}, {800, 374}, {800, 375}, {800, 376}, {800, 377}, {800, 378}, {800, 379}, {800, 380}, {800, 381}, {800, 382}, {800, 383}, {800, 384}, {800, 385}, {799, 385}, {798, 386}, {797, 387}, {796, 387}, {795, 388}, {794, 389}, {793, 389}, {792, 390}, {791, 390}, {790, 391}, {789, 391}, {788, 392}, {787, 392}, {786, 393},
      {785, 393}, {784, 394}, {783, 395}, {782, 395}, {781, 396}, {780, 396}, {779, 397}, {778, 397}, {777, 398}, {776, 399}, {775, 399}, {774, 400}, {773, 400}, {772, 401}, {771, 402}, {770, 402}, {769, 403}, {768, 403}, {767, 404}, {766, 404}, {765, 405}, {764, 405}, {763, 406}, {762, 407}, {761, 407}, {760, 408}, {759, 408}, {758, 409}, {757, 409}, {756, 410}, {755, 411}, {754, 411}, {753, 412}, {752, 412}, {751, 413},
      {750, 413}, {749, 414}, {748, 414}, {747, 415}, {746, 416}, {745, 416}, {744, 417}, {743, 417}, {742, 418},
      {741, 419}, {740, 419}, {739, 420}, {738, 420}, {737, 421}, {736, 421}, {735, 422}, {734, 423}, {733, 423}, {732, 424}, {731, 424}, {730, 425}, {729, 425}, {728, 426}, {727, 426}, {726, 427}, {725, 428}, {724, 428}, {723, 429}, {722, 429}, {721, 430}, {720, 430}, {719, 431}, {718, 432}, {717, 432}, {716, 433}, {715, 433}, {714, 434}, {713, 435}, {712, 435}, {711, 436}, {710, 436}, {709, 437}, {708, 437},
      {707, 438}, {706, 438}, {705, 439}, {704, 440}, {703, 440}, {702, 441}, {701, 441}, {700, 442}, {699, 443}, {698, 443}, {697, 444}, {696, 445}, {695, 445}, {694, 445}, {693, 446}, {692, 446}, {691, 447}, {690, 448}, {689, 448}, {688, 449}, {687, 449}, {686, 450}, {685, 450}, {684, 451}, {683, 452}, {682, 452}, {681, 453}, {680, 453}, {679, 454}, {678, 454}, {677, 455}, {676, 456}, {675, 456}, {674, 457}, {673, 457}, {672, 458}, {671, 458},
      {670, 459}, {669, 459}, {668, 460}, {667, 461}, {666, 461}, {665, 462}, {664, 462}, {663, 463}, {662, 464}, {661, 464}, {660, 465}, {659, 465}, {658, 466}, {657, 466}, {656, 467}, {655, 468}, {654, 468}, {653, 469}, {652, 469}, {651, 470}, {650, 470}, {649, 471}, {648, 472}, {647, 472}, {646, 473}, {645, 473}, {644, 474}, {643, 474}, {642, 475}, {641, 476}, {640, 476}, {639, 477}, {638, 477}, {637, 478}, {636, 478}, {635, 479}, {634, 480}, {633, 480}, {632, 481}, {631, 481}, {630, 482}, {629, 482}, {628, 483}, {627, 483},
      {626, 484}, {625, 485}, {624, 485}, {623, 486}, {622, 486}, {621, 487}, {620, 488}, {619, 488}, {618, 489},
      {617, 489}, {616, 490}, {615, 490}, {614, 491}, {613, 491}, {612, 492}, {611, 493}, {610, 493}, {609, 494}, {608, 494}, {607, 495}, {606, 496}, {605, 496}, {604, 497}, {603, 497}, {602, 498}, {601, 498}, {600, 499}, {599, 500}, {598, 500}, {597, 501}, {596, 501}, {595, 502}, {594, 502}, {593, 503}, {592, 503}, {591, 504}, {590, 505}, {589, 505}, {588, 506}, {587, 506}, {586, 507}, {585, 507}, {584, 508},
      {583, 509}, {582, 509}, {581, 510}, {580, 510}, {579, 511}, {578, 512}, {578, 513}, {578, 514}, {578, 515}, {578, 516}, {578, 517}, {578, 518}, {578, 519}, {578, 520}, {578, 521}, {578, 522}, {578, 523}, {578, 524}, {579, 525}, {579, 526}, {579, 527}, {579, 528}, {579, 529}, {579, 530}, {579, 531}, {579, 532}, {579, 533}, {579, 534}, {579, 535}, {580, 536}, {580, 537}, {580, 538}, {580, 539}, {580, 540}, {580, 541}, {580, 542}, {580, 543},
      {580, 544}, {580, 545}, {580, 546}, {580, 547}, {580, 548}, {580, 549}, {580, 550}, {580, 551}, {581, 552}, {581, 553}, {581, 554}, {581, 555}, {581, 556}, {581, 557}, {581, 558}, {581, 559}, {581, 560}, {581, 561}, {581, 562}, {581, 563}, {582, 564}, {582, 565}, {582, 566}, {582, 567}, {582, 568}, {582, 569}, {582, 570}, {582, 571}, {582, 572}, {582, 573}, {582, 574}, {583, 575}, {583, 576}, {583, 577}, {583, 578},
      {583, 579}, {583, 580}, {583, 581}, {583, 582}, {583, 583}, {583, 584}, {583, 585}, {583, 586}, {583, 587},
      {583, 588}, {583, 589}, {583, 590}, {584, 591}, {584, 592}, {584, 593}, {584, 594}, {584, 595}, {584, 596}, {584, 597}, {583, 598}, {583, 599}, {583, 600}, {583, 601}, {583, 602}, {583, 603}, {582, 604}, {583, 605}, {583, 606}, {582, 607}, {582, 608}, {582, 609}, {582, 610}, {582, 611}, {582, 612}, {582, 613}, {581, 614}, {581, 615}, {581, 616}, {581, 617}, {581, 618}, {581, 619}, {580, 620}, {580, 621},
      {580, 622}, {580, 623}, {580, 624}, {580, 625}, {580, 626}, {580, 627}, {580, 628}, {579, 629}, {579, 630}, {579, 631}, {579, 632}, {579, 633}, {579, 634}, {579, 635}, {578, 636}, {578, 637}, {578, 638}, {578, 639}, {578, 640}, {578, 641}, {577, 642}, {577, 643}, {577, 644}, {577, 645}, {577, 646}, {577, 647}, {577, 648}, {577, 649}, {577, 650}, {576, 651}, {576, 652}, {576, 653}, {576, 654}, {576, 655}, {576, 656}, {576, 657}, {575, 658},
      {575, 659}, {575, 660}, {575, 661}, {575, 662}, {575, 663}, {574, 664}, {575, 665}, {574, 666}, {574, 667}, {574, 668}, {574, 669}, {574, 670},
      {574, 671}, {574, 672}, {573, 673}, {573, 674}, {573, 675}, {573, 676}, {573, 677}, {573, 678}, {573, 679},
      {572, 680}, {573, 681}, {573, 682}, {572, 683}, {572, 684}, {572, 685}, {572, 686}, {572, 687}, {572, 688}, {571, 689}, {571, 690}, {571, 691}, {571, 692}, {571, 693}, {571, 694}, {570, 695}, {570, 696}, {570, 697}, {570, 698}, {570, 699}, {570, 700}, {570, 701}, {569, 702}, {569, 703}, {569, 704}, {569, 705}, {569, 706}, {569, 707}, {569, 708}, {569, 709}, {569, 710}, {568, 711}, {568, 712}, {568, 713},
      {568, 714}, {568, 715}, {568, 716}, {567, 717}, {567, 718}, {567, 719}, {567, 720}, {567, 721}, {567, 722}, {567, 723}, {566, 724}, {567, 725}, {566, 726}, {566, 727}, {566, 728}, {566, 729}, {566, 730}, {566, 731}, {566, 732}, {565, 733}, {565, 734}, {565, 735}, {565, 736}, {565, 737}, {565, 738}, {564, 739}, {564, 740}, {564, 741}, {564, 742}, {564, 743}, {564, 744}, {564, 745}, {564, 746}, {564, 747}, {563, 748}, {563, 749}, {563, 750},
      {563, 751}, {563, 752}, {563, 753}, {563, 754}, {562, 755}, {562, 756}, {562, 757}, {562, 758}, {562, 759}, {562, 760}, {561, 761}, {561, 762}, {561, 763}, {561, 764}, {561, 765}, {561, 766}, {561, 767}, {561, 768}, {561, 769}, {560, 770}, {560, 771}, {560, 772}, {560, 773}, {559, 774}, {558, 774}, {557, 774}, {556, 775}, {555, 775}, {554, 775}, {553, 776}, {552, 776}, {551, 777}, {550, 777}, {549, 777}, {548, 777},
      {547, 778}, {546, 778}, {545, 778}, {544, 779}, {543, 779}, {542, 779}, {541, 780}, {540, 780}, {539, 780},
      {538, 781}, {537, 781}, {536, 781}, {535, 782}, {534, 782}, {533, 782}, {532, 782}, {531, 783}, {530, 783}, {529, 783}, {528, 783}, {527, 784}, {526, 784}, {525, 784}, {524, 785}, {523, 785}, {522, 785}, {521, 785}, {520, 786}, {519, 786}, {518, 786}, {517, 786}, {516, 787}, {515, 787}, {514, 787}, {513, 787}, {512, 787}, {511, 788}, {510, 788}, {509, 788}, {508, 789}, {507, 789}, {506, 789}, {505, 789},
      {504, 790}, {503, 790}, {502, 790}, {501, 790}, {500, 790}, {499, 790}, {498, 791}, {497, 791}, {496, 791}, {495, 791}, {494, 792}, {493, 792}, {492, 792}, {491, 792}, {490, 792}, {489, 793}, {488, 793}, {487, 793}, {486, 793}, {485, 793}, {484, 793}, {483, 793}, {482, 794}, {481, 794}, {480, 794}, {479, 794}, {478, 794}, {477, 795}, {476, 795}, {475, 795}, {474, 795}, {473, 795}, {472, 796}, {471, 795}, {470, 796}, {469, 796}, {468, 796},
      {467, 796}, {466, 796}, {465, 796}, {464, 796}, {463, 797}, {462, 797}, {461, 797}, {460, 797}, {459, 797}, {458, 797}, {457, 797}, {456, 798}, {455, 798}, {454, 798}, {453, 798}, {452, 798}, {451, 798}, {450, 798}, {449, 798}, {448, 798}, {447, 798}, {446, 798}, {445, 799}, {444, 799}, {443, 799}, {442, 799}, {441, 799}, {440, 799}, {439, 799}, {438, 799}, {437, 799}, {436, 799}, {435, 799}, {434, 800}, {433, 800}, {432, 800}, {431, 800}, {430, 800}, {429, 800}, {428, 800}, {427, 800}, {426, 800}, {425, 800}, {424, 800},
      {423, 800}, {422, 800}, {421, 800}, {420, 800}, {419, 800}, {418, 800}, {417, 800}, {416, 800}, {415, 800},
      {414, 800}, {413, 800}, {412, 800}, {411, 800}, {410, 800}, {409, 800}, {408, 800}, {407, 800}, {406, 800},
      {405, 800}, {404, 800}, {403, 800}, {402, 800}, {401, 800}, {400, 800}, {399, 800}, {398, 800}, {397, 800}, {396, 800}, {395, 800}, {394, 800}, {393, 800}, {392, 800}, {391, 800}, {390, 800}, {389, 800}, {388, 800}, {387, 800}, {386, 800}, {385, 800}, {384, 800}, {383, 800}, {382, 800}
    };


};

#endif // READBYTEPROCESS_H
